Top

PHP_SAPI sabiti ve PHP_SAPI_NAME fonksiyonu

PHP_SAPI sabiti ve PHP_SAPI_NAME fonksiyonu

php_sapi sabiti, çekirdekte öntanımlı sabitlerden birisidir. PHP, 4.2.0 sürümünden sonrasında mevcuttur. String değer döndürür.

php_sapi_name fonksiyonundan dönen değer ile php_sapi sabitinden dönen değer aynıdır. php_sapi_name fonksiyonu; HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür.PHP’nin kullandığı arayüzü sunucu api’si olarak da geçer, arayüzü küçük harfli dizge ile döndürür. Döndürebileceği değerler tamamı olmasa da olası değerler şunlardır: aolserverapacheapache2filterapache2handlercaudiumcgi (PHP 5.3’ten beri), cgi-fcgiclicontinuityembedisapilitespeedmilternsapiphttpdpi3webroxen,thttpdtux ve webjames.

Php.net’te yer alan bir örneğe göre;

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == ‘cgi’) {
echo “CGI PHP kullanıyorsunuzn”;
} else {
echo “CGI PHP kullanmıyorsunuzn”;
}
?>

Sunucu api’sinin cgi olup olmadığına bakılmıştır. Tanımlı olan sapi de her zaman apaçık olmayabilir. Mesela apache2handler/filter olarak belirtilmiş olabilir.

Bir örnek yine php.net kullancısına ait, local ya da uzaktan kontrol mü edilip edilmediğini denetleyip izin  veren bir uygulama;

<?php
if(isset($_SERVER[“REMOTE_ADDR”]) && ($_SERVER[“REMOTE_ADDR”] != $_SERVER[“SERVER_ADDR”])){
exit(‘Permission denied’);
};
// do something(birşeyler yap)
?>

Bu alttaki uygulama ile de kullanıcının tarayıcı mı yoksa cli mı kullandığını denetleyebiliriz;

<?php
if (isset ($_SERVER[‘SESSIONNAME’])) echo ‘CLI’;
else echo ‘Browser’;
?>

CLI bu arada command line interface yani komut satırı arabirimi demektir.

Bu fonksiyon ya da öntanımlı saibt sayesinde kullanılan arayüz doğrultusunda işlem yapmamıza olanak sağlar.

Kaynak;

php.net

İlham;

php.ini dosyası…

 

No Comments